package mybox.engine;

import java.io.IOException;

public class ArduinoBox implements Figur {
	
	public File4Qcad file4qcad=null;
	QVector lowerLeftGrundPlatte1=null;
	public SchachtelMitBoden schachtel;
	double ardLuft2wand;
	double ardBodenHoehe=7.03-0.47-0.235-0.1175;
	double materialDicke;
	double laserBreite;
	double ardBoxLaenge;
	double ardBoxBreite;
	double ardBoxHoehe;	
	
	double usbY;
	double powerY;
	
	Rectangle usbSeitenOeffnung;
	Rectangle powerSeitenOeffnung;
	
	
	public ArduinoBox(
			File4Qcad file4qcad, QVector lowerLeft,
			double ardBoxLaenge, double ardBoxBreite, double ardBoxHoehe,
			double materialDicke, double zinkungsFaktor,double laserBreite) 
	throws SecurityException, IOException {
		this.file4qcad=file4qcad;
		lowerLeftGrundPlatte1=lowerLeft;
		this.materialDicke=materialDicke;
		
		ardBoxLaenge=java.lang.Math.max(Arduino.laenge+2*materialDicke,ardBoxLaenge);
		ardBoxBreite=java.lang.Math.max(Arduino.breite+2*materialDicke,ardBoxBreite);
		ardBoxHoehe=java.lang.Math.max(Arduino.standardHoehe+2*materialDicke,ardBoxHoehe)+ardBodenHoehe;
		
		schachtel = new SchachtelMitBoden(file4qcad,lowerLeftGrundPlatte1,ardBoxLaenge,ardBoxBreite,ardBoxHoehe,
				ardBodenHoehe,materialDicke,zinkungsFaktor,laserBreite);
			/*new SchachtelMitBoden(
				file4qcad, lowerLeftGrundPlatte1, 
				ardBoxLaenge,ardBoxBreite,ardBoxHoehe, ardBodenHoehe
				 laserBreite, laserBreite);*/

		
		schachtel.grundPlatte1.addEckSchrauben(0, 10, 10, 1.5);
		schachtel.grundPlatte1.addEckSchrauben(2, -10, -10, 1.5);
		schachtel.grundPlatte2.addEckSchrauben(0, 10, 10, 1.5);
		schachtel.grundPlatte2.addEckSchrauben(2, -10, -10, 1.5);
		
		
		
	}
	
	public void placeUSB(Arduino arduino) {		
		usbY=arduino.usbAnschluss.lowerLeft.y-this.schachtel.grundPlatte1.ecke[0].y;					
		usbSeitenOeffnung = 
			new Rectangle(file4qcad,
					new QVector(this.schachtel.seitenPlatte1.ecke[0].x+ardBodenHoehe+materialDicke+Arduino.usbLuft2Boden,usbY),Arduino.usbHoehe-Arduino.usbLuft2Boden,Arduino.usbBreite);
		
	}
	
	public void placePower(Arduino arduino) {
		
		powerY=arduino.powerAnschluss.lowerLeft.y-this.schachtel.grundPlatte1.ecke[0].y;					
		powerSeitenOeffnung = 
			new Rectangle(file4qcad,
					new QVector(this.schachtel.seitenPlatte1.ecke[0].x+ardBodenHoehe+materialDicke+Arduino.powerLuft2Boden,powerY),Arduino.powerHoehe-Arduino.powerLuft2Boden,Arduino.powerBreite);
		

		
		
	}
	
	public void draw() {	
		
		schachtel.draw();
		usbSeitenOeffnung.draw();
		powerSeitenOeffnung.draw();
		
	}

}
